class particula
{
   private:
      
   public:
	   double pos[3];//Posicion
	   double posOld[3];//Posicion anterior
	   double vel[3];//Velocidad
	   double force[3];//Fuerza
	   double forceR[3];//Fuerza directa (Yukawa-Ewald)
	   double forceK[3];//Fuerza k (Yukawa-Ewald)
	   double drg[3];
	   double drv[3];
	   double rstart[3];//Posicion de la particula en determinado momento
	   int celda;
	   int celdaxyz[3];
	   double energia;
	   double energiaOld;


	   int nvecinos;//Numero de vecinos
	   int lstVecinos[1000];//Lista con indice de vecinos

	   particula()
	   {

	   }

	   particula(double rr[3])
	   {
		   for (int i=0;i<3;i++)
		   {
			   pos[i]=rr[i];
			   posOld[i]=rr[i];
			   rstart[i]=rr[i];
		   }
		   energiaOld=1.0e10;

	   }

	   ///posicion de la particula
	   void setPosition(double rr[3]);
	   ///Velocidad de la particula
	   void setVelocities(double vv[3]);
	   ///Fuerza de la particula
	   void setForces(double ff[3]);
};

	   void particula::setPosition(double rr[3])
	   {
		   for (int i=0;i<3;i++)
		   {
			   pos[i]=rr[i];
			   posOld[i]=rr[i];
			   rstart[i]=rr[i];
		   }
	   }

	   void particula::setVelocities(double vv[3])
	   {
		   for (int i=0;i<3;i++)
			   vel[i]=vv[i];
	   }

	   void particula::setForces(double ff[3])
	   {
		   for(int i=0;i<3;i++)
		   {
			   force[i]=ff[i];
		   }
	   }


